`timescale 1ns/1ns

module encoder_0(
   input      [8:0]         I_n   ,
   
   output reg [3:0]         Y_n   
);
always@(*)begin
	casex({I_n[0],I_n[1],I_n[2],I_n[3],I_n[4],I_n[5],I_n[6],I_n[7],I_n[8]})
		9'b1_1111_1111:begin
			Y_n=4'b1111;
		end
		9'bz_zzzz_zzz0:begin
			Y_n=4'b0110;
		end
		9'bz_zzzz_zz01:begin
			Y_n=4'b0111;
		end
		9'bz_zzzz_z011:begin
			Y_n=4'b1000;
		end
		9'bz_zzzz_0111:begin
			Y_n=4'b1001;
		end
		9'bz_zzz0_1111:begin
			Y_n=4'b1010;
		end
		9'bz_zz01_1111:begin
			Y_n=4'b1011;
		end
		9'bz_z011_1111:begin
			Y_n=4'b1100;
		end
		9'bz_0111_1111:begin
			Y_n=4'b1101;
		end
		9'b0_1111_1111:begin
			Y_n=4'b1110;
		end
	endcase
end
endmodule